Magic Type Classes
なので、この名前のGHC拡張があるわけではないmrsekut.icon
の2つのinstanceを自動生成する
何が嬉しいのか
例
こんなRecordを定義すると
code:hs
data T = MkT { x :: Int }
以下がderivingされる
code:hs
instance HasField "x" T Int where
getField _ = x
instance UpdateField "x" T T Int where
setField _ (MkT _) x = MkT x